Storage system users are looking for “fault-less,” one hundred percent availability to their data. To accomplish this, storage systems are designed with redundant components to minimize or eliminate unrecoverable failures. However, current practice is to receive host data, copy it to redundant storage and then notify the host of successful data transfer. This additional data copy step introduces latency into the host transfer, reducing host input/output (I/O) performance and throughput. Consequently, it is a common practice in attempting to eliminate this latency to introduce “dual ported memory” of some sort. While this may decrease latency, it violates the “no single point of failure” goal because the path to the two memories is in itself a single point of failure.
It is common to store large volumes of data on storage systems, which utilize nonvolatile mass storage devices, such as magnetic or optical disks. These storage systems sometimes handle valuable or irreplaceable data. Data maintained by these storage systems may be of vital importance, for example, in business application such as airline reservations, bank account management, electronic fund transfers, shipping and receiving, inventory control, and the like. Consequently, there is also a need to ensure that the valuable data contained in these storage systems is adequately protected against loss or damage.
Therefore, it would be desirable to provide a fault tolerant hardware component, which provides data protection and reduces host transfer latency, increasing host I/O performance and throughput.